/**
 * ____________________ *
 *  ____ ____ ____ _  _ *
 *  |___ [__] |--< |\/| *
 * ____________________ *
 *
 * THE CORM PROJECT
 *
 * This file may only be used in accordance with the
 * terms of the Academic Free License ("AFL") v. 3.0,
 * as published by the Open Software Initiative.  A
 * copy of this license is provided in this source
 * release, and may be viewed online at:
 *
 * (http://www.opensource.org/licenses/afl-3.0.php)
 */
package org.eremite.corm.party;

import org.eremite.corm.Archetype;
import org.eremite.corm.party.address.Address;
import org.eremite.corm.party.relationship.Capability;
import org.eremite.corm.party.relationship.PartyRole;

import java.util.Set;

public interface Party extends Archetype {

    public PartyIdentifier getID();
    public void setID(PartyIdentifier id);

    public Set<Address> getAddresses();
    public void setAddresses(Set<Address> addresses);

    public Set<Preference> getPreferences();
    public void setPreferences(Set<Preference> preferences);

    public Set<RegisteredIdentifier> getRegisteredIdentifiers();
    public void setRegisteredIdentifiers(Set<RegisteredIdentifier> registeredIds);

    public Set<PartyRole> getPartyRoles();
    public void setPartyRoles(Set<PartyRole> partyRole);

    public Set<Capability> getCapabilities();
    public void setCapabilities(Set<Capability> capabilities);

}